package cn.labbook.bluetooth.util.p645;

import lombok.Data;

@Data
public class ByteAddHandler {
    private byte sum = 0;

    private boolean m = false;

    public ByteAddHandler add(byte b) {
        if (m) {
            this.sum += b % 0xff;
        } else {
            this.sum += b;
        }

        return this;
    }

    public ByteAddHandler add(short b) {
        byte[] bytes = ShortTranToBytes(b);
        add(bytes);
        return this;
    }

    public ByteAddHandler add(byte[] bytes) {
        for (byte b : bytes) {
            add(b);
        }
        return this;
    }
    public static byte[] ShortTranToBytes(short x) {
        byte[] bytes = new byte[2];
        bytes[0] = (byte) (0x00FF & (x >> 8));//定义第一个byte
        bytes[1] = (byte) (0x00FF & x);//定义第二个byte
        return bytes;
    }
}